iT邦幫忙

2022 iThome 鐵人賽

DAY 26
0
自我挑戰組

從前端角度看30天學Python系列 第 26

【Day 26】虛擬環境

  • 分享至 

  • xImage
  •  
  • 安裝 virtualenv
  • 創造虛擬環境
  • 啟用虛擬環境
  • 離開虛擬環境
  • 在 git 中排除 .venv

這篇文章是閱讀Asabeneh的30 Days Of Python: Day 23 - Virtual Environment後的學習筆記與心得。


在 day 23、day25 都有使用 pip 安裝套件,像是 requestsbeautifulsoup4,但是,如果離開了資料夾,在 PowerShell (我的系統是 Windows) 用 pip list 查看,還是可以發現這兩個套件,就等於像 前端開發用 npm i -g 全域安裝的概念。

又一個但是,不是每個專案都適用同樣的套件版本,比如,Python 2 (目前已不推薦使用) 的專案,可能會無法使用 Python 3 的套件,這時就需要今天這章提到的 virtualenv,或是 Python 3.3 後內建的 venv (這章不會說明這個)。 -- 參考官方文件

安裝 virtualenv

pip install virtualenv

創造虛擬環境

這邊會依據作業系統不同需要不同的指令:

  • Windows (我使用這個)
python -m venv <folder_name>
  • Mac/Linux
virtualenv <folder_name>

使用後可以看到工作目錄 (working directory) 底下新增了一個 <folder_name> 資料夾,這邊我使用的名稱是 venv

啟用虛擬環境

  • Windows PowerShell
<folder_name>\Scripts\activate
  • Git Bash
. <folder_name>/scripts/activate
  • Mac/Linux
source <folder_name>/bin/activate

啟用後可以在 CLI 的路徑前面看到 (<folder_name>),代表成功啟用虛擬環境。

這時如果打 pip list 應該會看到前面安裝的套件都沒了,這是一個獨立的環境;為了測試這點,這邊選一個套件來安裝—Flask:

pip install Flask
  • 這個套件可以用來做後端伺服器;這章不會真的使用到它,原文中則是在 day 26 - Python web 會實際用上它。

可以透過先前學到的 pip freeze 來把這個環境設定存到 requirements.txt 中這樣其他拿到這個專案的開發者,可以透過在 CLI 執行 pip install -r requirements.txt 安裝專案需要的套件。

離開虛擬環境

在 CLI 輸入並執行:

deactivate

在 git 中排除 .venv

就像前端會排除 node_modules 這個資料夾,因為下載專案資料夾的人可以透過 package.json 和執行 npm install 來抓取專案需要的依賴一樣;Python 專案中也會在 .gitignore 裡寫下並藉此排除 .venv 進到 git 的紀錄中。

其他可以排除的檔案可以參考這篇文章


上一篇
【Day 25】網頁抓取
下一篇
【Day 27】Python for Web
系列文
從前端角度看30天學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言